package scala.com.shujia.jichu

import java.io.{BufferedReader, FileReader}
import java.util.Scanner

object Demo4Exception {
  def main(args: Array[String]): Unit = {
    /**
     *  scala中的异常和java的很像
     */
    try {
//      println(10/2)
//      val arr1: Array[Int] = Array(1, 2, 3, 4, 5)
//      println(arr1(2))

//      val br: BufferedReader = new BufferedReader(new FileReader("scala/data/words888.txt"))
      /**
       * 也可以手动的抛出异常
       */
      val sc = new Scanner(System.in)
      print("输入除数：")
      val cs: Int = sc.nextInt()
      if(cs!=0){
        println(10/cs)
      }else{
        throw new ArithmeticException("您输入的除数是0")
      }
    }catch{
      //类似于sql语句中case when
      case e:ArithmeticException=>
//        println("除0异常")
          e.printStackTrace()
      case e:ArrayIndexOutOfBoundsException=>
        println("数组越界异常")
      case _ =>
        println("出现异常")
    }finally {
      //今后finally中的处理大部分情况下都与释放资源有关
      println("这是finally代码块")
    }

    println("hello world")
  }
}
